package com.tianyi.sfzy1.mapper;

import com.tianyi.sfzy1.domain.Member;

import java.util.List;

/**
* @author Lenovo
* @description 针对表【member(会员表)】的数据库操作Mapper
* @createDate 2025-01-02 11:46:53
* @Entity com.tianyi.sfzy1.domain.Member
*/
public interface MemberMapper {

    int deleteByPrimaryKey(Long id);

    int insert(Member record);

    int insertSelective(Member record);

    Member selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(Member record);

    int updateByPrimaryKey(Member record);

    //会员登录
    Member login(String username, String password);

    //会员注册
    int register(Member member);

    //根据用户名或电话查询会员信息和对应的积分
    Member selectByUsername(String username);

    //根据用户名修改会员手机号
    int updatePhoneByUsername(String username, String mobile);

    //根据用户名修改会员密码
    int updateByUsername(String username, String password);

//    查询所有会员信息
    List<Member> findAll();

//查询所有会员信息，包含会员积分
    List<Member> findAllWithPoints();

//查询所有会员信息，包含会员积分(分页)
    List<Member> findAllWithPointsPage(int pageNum, int pageSize);

//查询所有会员的数量
    int selectCount();

    //根据咨询师id查询所有会员及其咨询预约内容
    List<Member> findAllConsultationappointment(int id);

    //查询所有预约咨询信息
    List<Member> findAllConsultation();

    //模糊搜索 使用动态sql 可以通过咨询师编号或者会员姓名，或者两者同时查询 对应的Consultation
    List<Member> findConsultation(String name);

    //根据会员id查询会员的预约咨询信息
    List<Member> findconsultationappointment(int mid);

    //插入会员信息
    int insertMember(Member member);

    //根据用户名查询会员信息
    Member selectByUsername1(String username);

    //根据用户名修改会员信息
    int updateByUsername1(Member member);

    //根据用户名删除会员信息
    int deleteByUsername(String username);

    //根据会员姓名查询会员信息(模糊查询)
    List<Member> selectByUsername2(String realname);

    //根据会员编号删除会员信息(批量删除)
    int deleteByIds(List<Integer> memberId);
}
